package com.tl.app.mapper;

import java.util.List;
import com.tl.app.domain.AppAccount;
import com.tl.app.domain.AppAccountLog;

/**
 * 用户账户Mapper接口
 * 
 * @author suhp
 * @date 2024-07-07
 */
public interface AppAccountMapper 
{
    /**
     * 查询用户账户
     * 
     * @param id 用户账户主键
     * @return 用户账户
     */
    public AppAccount selectAppAccountById(Long id);

    /**
     * 查询用户账户列表
     * 
     * @param appAccount 用户账户
     * @return 用户账户集合
     */
    public List<AppAccount> selectAppAccountList(AppAccount appAccount);

    /**
     * 新增用户账户
     * 
     * @param appAccount 用户账户
     * @return 结果
     */
    public int insertAppAccount(AppAccount appAccount);

    /**
     * 修改用户账户
     * 
     * @param appAccount 用户账户
     * @return 结果
     */
    public int updateAppAccount(AppAccount appAccount);

    /**
     * 删除用户账户
     * 
     * @param id 用户账户主键
     * @return 结果
     */
    public int deleteAppAccountById(Long id);

    /**
     * 批量删除用户账户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAppAccountByIds(Long[] ids);

    /**
     * 批量删除用户流水
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAppAccountLogByUserIds(Long[] ids);
    
    /**
     * 批量新增用户流水
     * 
     * @param appAccountLogList 用户流水列表
     * @return 结果
     */
    public int batchAppAccountLog(List<AppAccountLog> appAccountLogList);
    

    /**
     * 通过用户账户主键删除用户流水信息
     * 
     * @param id 用户账户ID
     * @return 结果
     */
    public int deleteAppAccountLogByUserId(Long id);
}
